// 1.引入Path模块
const path = require('path');


// 2.Path Attribute
// sep：路径分隔符，\\或/
console.log(path.sep);// \
// delimiter：分隔符，;或:
console.log(path.delimiter);// ;


// 3.Path Instance API
// join([path1, path2, ...])：使用正确路径分隔符连接路径
console.log('1/' + '2/' + '../' + '3/' + '4/');// 1/2/../3/4/
console.log(path.join('1/' + '2/' + '../' + '3/' + '4/'));// 1\3\4\

// resolve([path1, path2, ...])：拼接path为绝对路径
console.log(path.resolve('/1', './2', '/3'));// D:\3
console.log(path.resolve('/1', './2', './3'));// D:\1\2\3
console.log(path.resolve('/1', './2', '../3'));// D:\1\3

// isAbsolute(path)：path是否为绝对路径
console.log(path.isAbsolute('./static'));// false
console.log(path.isAbsolute('D:/WorkSpace'));// true

// relative(from, to)：from到to的相对路径
console.log(path.relative('D:/WorkSpace/aa/aaa', 'D:/WorkSpace/bb/bbb'));// ..\..\bb\bbb

// dirname(path)：文件路径，不包括当前文件
console.log(path.dirname('../static'));// ..
console.log(path.dirname('D:/WorkSpace/static'));// D:/WorkSpace

// basename(path[, ext])：文件名，若指定后缀名ext则返回的文件名不包含后缀
console.log(path.basename('basename.txt'));// basename.txt
console.log(path.basename('basename.txt', '.txt'));// basename

// extname(path)：文件后缀名，若path在不存在.或只存在一个.且该.为path第一个字符则返回空字符串
console.log(path.extname('extname.txt'));// .txt